package com.jiguangssp.addemo.act;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

import com.jiguangssp.addemo.BuildConfig;
import com.jiguangssp.addemo.R;
import com.jiguangssp.addemo.util.Constants;

import java.util.ArrayList;
import java.util.List;

import cn.jiguang.jgadpubadapter.JGBZCustomController;
import cn.jiguang.jgadpubadapter.JGBZInitManager;
import xyz.adscope.amps.AMPSSDK;
import xyz.adscope.amps.common.AMPSError;
import xyz.adscope.amps.config.AMPSPrivacyConfig;
import xyz.adscope.amps.init.AMPSInitConfig;
import xyz.adscope.amps.init.inter.IAMPSInitCallback;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        findViewById(R.id.tv_main_permission).setOnClickListener(this);
        findViewById(R.id.tv_main_initsdk).setOnClickListener(this);
        findViewById(R.id.tv_main_banner).setOnClickListener(this);
        findViewById(R.id.tv_main_interstitial).setOnClickListener(this);

        findViewById(R.id.tv_main_reward_video).setOnClickListener(this);
        findViewById(R.id.tv_main_splash).setOnClickListener(this);
        findViewById(R.id.tv_main_native).setOnClickListener(this);

    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.tv_main_permission:
                break;
            case R.id.tv_main_banner:
                startActivity(new Intent(this, BannerActivity.class));
                break;
            case R.id.tv_main_interstitial:
                startActivity(new Intent(this, InterstitialActivity.class));
                break;

            case R.id.tv_main_reward_video:
                startActivity(new Intent(this, RewardActivity.class));
                break;
            case R.id.tv_main_splash:
                startActivity(new Intent(this, SplashActivity.class));
                break;
            case R.id.tv_main_native:
                startActivity(new Intent(this, NativeAdActivity.class));
                break;
            case R.id.tv_main_initsdk:
                initSDK();
                break;
            default:
                break;
        }
    }

    private void initSDK() {

        initJGConfig();

        //建议在application里面调用；假如App有功能引导，也可点击"立即体验"按钮中调用
        List<String> adapterList = new ArrayList<>();
        adapterList.add(Constants.JG_PUB_PACKAGE_NAME);
        AMPSInitConfig config = new AMPSInitConfig.Builder()
                .setAppId(Constants.JG_PUB_APPID)
                .openDebugLog(true)
                .setAdapterNameList(adapterList)
                .setAppName(BuildConfig.APPLICATION_ID)
                .setAMPSPrivacyConfig(new AMPSPrivacyConfig() {
                    @Override
                    public boolean isCanUsePhoneState() {
                        return true;
                    }

                    @Override
                    public boolean isCanUseLocation() {
                        return true;
                    }

                    @Override
                    public boolean isCanUseOaid() {
                        return true;
                    }

                    @Override
                    public String getDevOaid() {
                        return super.getDevOaid();
                    }
                })
                .build();
        AMPSSDK.init(this, config, new IAMPSInitCallback() {
            @Override
            public void successCallback() {
                Toast.makeText(MainActivity.this, "init success", Toast.LENGTH_SHORT).show();

            }

            @Override
            public void failCallback(AMPSError ampsError) {
                Toast.makeText(MainActivity.this, "init fail", Toast.LENGTH_SHORT).show();

            }
        });
        AMPSSDK.setPersonalRecommend(true);

    }

    private void initJGConfig() {

        JGBZInitManager.getInstance().setJGBZCustomController(new JGBZCustomController() {

            /**
             * 是否为Debug模式，开发阶段可设置为true
             *
             * @return true debug模式，false 非debug模式。默认为BuildConfig.DEBUG
             */
            @Override
            public boolean isDebug() {
                return true;
            }

            /**
             * 用户是否同意隐私政策
             *
             * @return true同意，false不同意。默认为true
             */
            @Override
            public boolean isAgreePrivacyStrategy() {
                return true;
            }

            /**
             *  开发者可以传入oaid
             *  信通院OAID的相关采集——如何获取OAID：
             1. 移动安全联盟官网http://www.msa-alliance.cn/
             2. 信通院统一SDK下载http://msa-alliance.cn/col.jsp?id=120
             * @return oaid
             */
            @Override
            public String getOaid() {
                return null;
            }

            @Override
            public String geAndroidId() {
                return null;
            }

            @Override
            public String getMac() {
                return null;
            }

            @Override
            public String getImei() {
                return null;
            }

            /**
             * 是否允许主动使用ACCESS_WIFI_STATE权限
             *
             * @return true可以使用，false禁止使用。默认为true
             */
            @Override
            public boolean isCanUseWifiState() {
                return true;
            }

            /**
             * 是否允许主动使用手机硬件参数，如：imei
             *
             * @return true可以使用，false禁止使用。默认为true
             */
            @Override
            public boolean isCanUsePhoneState() {
                return true;
            }

            /**
             * 是否允许主动使用地理位置信息
             *
             * @return true可以获取，false禁止获取。默认为true
             */
            @Override
            public boolean isCanUseLocation() {
                return true;
            }
        });
    }
}